package ar.uba.fi.taller2.cmmiassistant.frontend.evaluacion;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

import ar.uba.fi.taller2.cmmiassistant.frontend.evaluacion.util.OrganizacionConversorEvaluables;
import ar.uba.fi.taller2.cmmiassistant.modelo.Organizacion;
import ar.uba.fi.taller2.cmmiassistant.modelo.aplicacion.CmmiAssistant;
import ar.uba.fi.taller2.cmmiassistant.modelo.cmmi.AreaProceso;
import ar.uba.fi.taller2.cmmiassistant.modelo.evaluacion.Evaluacion;
import ar.uba.fi.taller2.cmmiassistant.modelo.evaluacion.Instancia;
import ar.uba.fi.taller2.cmmiassistant.observador.Observable;
import ar.uba.fi.taller2.cmmiassistant.observador.Observador;
import ar.uba.fi.taller2.cmmiassistant.observador.ServicioNotificacion;

public class ControladorEditorCalificacion {

	// TODO ver tema listeners

//	private EditorCalificacion editorCalificacionOrganizacion = new EditorCalificacion();
//
//	private EditorCalificacion editorCalificacionInstancia = new EditorCalificacion();
//
//	private EditorCalificacion editorCalificacionEvaluacion = new EditorCalificacion();
//
//	private CmmiAssistant modelo;
//
//	public ControladorEditorCalificacion() {
//		super();
//
//	}
//
//	private Observador observadorModelo = new Observador() {
//
//		public void cambio(Observable entidad) {
//			// System.out.println("Cambio ");
//			ControladorEditorCalificacion.this.cargar();
//		}
//	};
//
//	public CmmiAssistant getModelo() {
//		return modelo;
//	}
//
//	public void setModelo(CmmiAssistant modelo) {
//		this.modelo = modelo;
//
//		this.modelo = modelo;
//		ServicioNotificacion.addObservador(this.getModelo()
//				.getOrganizacionSeleccionada().getValor(),
//				this.observadorModelo);
//		ServicioNotificacion.addObservador(this.getModelo()
//				.getEvaluacionSeleccionada().getValor(), this.observadorModelo);
//		ServicioNotificacion.addObservador(this.getModelo()
//				.getInstanciaSeleccionada().getValor(), this.observadorModelo);
//		this.cargar();
//	}
//
//	private void cargar() {
//
////		if (this.getModelo().getId(bean)AreaProcesoSeleccionada() != null) {
////			this.cargar(this.getModelo().getAreaProcesoSeleccionada());
////		}
////
////		if (this.getModelo().getInstanciaSeleccionada() != null) {
////			this.cargar(this.getModelo().getInstanciaSeleccionada().getValor());
////		}
////
////		if (this.getModelo().getEvaluacionSeleccionada() != null) {
////			this
////					.cargar(this.getModelo().getEvaluacionSeleccionada()
////							.getValor());
////		}
//
//		if (this.getModelo().getOrganizacionSeleccionada() != null) {
//			this.cargar(this.getModelo().getOrganizacionSeleccionada()
//					.getValor());
//		}
//
//	}
//
//	private void cargar(Organizacion valor) {
//		
//		List<Object> evaluaciones = new LinkedList<Object>();
//
//		for (Iterator iter = valor.getEvaluaciones().iterator(); iter.hasNext();) {
//			Evaluacion element = (Evaluacion) iter.next();
//
//			evaluaciones.add(element);
//		}
//
//		editorCalificacionOrganizacion
//				.setConversor(new OrganizacionConversorEvaluables());
//		editorCalificacionOrganizacion.setItems(evaluaciones);
//		editorCalificacionOrganizacion.cargar();
//	}
//
//	private void cargar(Evaluacion valor) {
//		List<Object> instancias = new LinkedList<Object>();
//
//		for (Iterator iter = valor.getInstancias().iterator(); iter.hasNext();) {
//
//			instancias.add(iter.next());
//		}
//
//		editorCalificacionEvaluacion
//				.setConversor(new OrganizacionConversorEvaluables());
//		editorCalificacionEvaluacion.setItems(instancias);
//		editorCalificacionEvaluacion.cargar();
//	}
//
//	private void cargar(Instancia valor) {
//		List<Object> instancias = new LinkedList<Object>();
//
//		for (Iterator iter = valor.getResultado().getCumplimientosObjetivos()
//				.iterator(); iter.hasNext();) {
//
//			instancias.add(iter.next());
//		}
//
//		editorCalificacionInstancia
//				.setConversor(new OrganizacionConversorEvaluables());
//		editorCalificacionInstancia.setItems(instancias);
//		editorCalificacionInstancia.cargar();
//	}
//
//	private void cargar(AreaProceso valor) {
//		List<Object> areaProceso = new LinkedList<Object>();
//
////		valor.get
////		for (Iterator iter = valor.get.iterator(); iter.hasNext();) {
////
////			instancias.add(iter.next());
////		}
//
////		editorCalificacionInstancia
////				.setConversor(new OrganizacionConversorEvaluables());
////		editorCalificacionInstancia.setItems(instancias);
////		editorCalificacionInstancia.cargar();
//	}
}
